// This example shows how to browse objects under the "Objects" node and display notifiers. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.AddressSpace; using OpcLabs.EasyOpc.UA.AddressSpace.Standard; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples.AlarmsAndConditions { class BrowseNotifiers { public static void Overload2() { // Start browsing from the "Objects" node. try { BrowseFrom(UAObjectIds.ObjectsFolder); } catch (UAException uaException) { Console.WriteLine($"*** Failure: {uaException.GetBaseException().Message}"); } Console.WriteLine(); Console.WriteLine("Finished."); } private static void BrowseFrom(UANodeDescriptor nodeDescriptor) { // Define which server we will work with. UAEndpointDescriptor endpointDescriptor = "opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer"; Console.WriteLine(); Console.WriteLine(); Console.WriteLine($"Parent node: {nodeDescriptor}"); // Instantiate the client object. var client = new EasyUAClient(); // Obtain notifiers. UANodeElementCollection notifierNodeElementCollection = client.BrowseNotifiers( endpointDescriptor, nodeDescriptor); // Display notifiers. if (notifierNodeElementCollection.Count != 0) { Console.WriteLine(); Console.WriteLine("Notifiers:"); foreach (UANodeElement notifierNodeElement in notifierNodeElementCollection) Console.WriteLine(notifierNodeElement); } // Obtain objects. UANodeElementCollection objectNodeElementCollection = client.BrowseObjects( endpointDescriptor, nodeDescriptor); // Recurse. foreach (UANodeElement objectNodeElement in objectNodeElementCollection) BrowseFrom(objectNodeElement); } // Example output (truncated): // // //Parent node: ObjectsFolder // // //Parent node: Server // //Notifiers: //Green -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Green (Object) //Yellow -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Yellow (Object) // // //Parent node: Server_ServerCapabilities //... } }
# This example shows how to browse objects under the "Objects" node and display notifiers. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in PowerShell on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-PowerShell . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. #requires -Version 5.1 using namespace OpcLabs.EasyOpc.UA using namespace OpcLabs.EasyOpc.UA.AddressSpace.Standard using namespace OpcLabs.EasyOpc.UA.Navigation.Parsing; using namespace OpcLabs.EasyOpc.UA.OperationModel function BrowseNotifiersFrom([UANodeDescriptor]$nodeDescriptor) { # Define which server we will work with. [UAEndpointDescriptor]$endpointDescriptor = "opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer" Write-Host Write-Host Write-Host "Parent node: $($nodeDescriptor)" # Instantiate the client object. $client = New-Object EasyUAClient # Obtain event sources. $notifierNodeElementCollection = [IEasyUAClientExtension]::BrowseNotifiers($client, $endpointDescriptor, $nodeDescriptor) # Display event sources. if ($notifierNodeElementCollection.Count -ne 0) { Write-Host Write-Host "Notifiers:" foreach ($notifierNodeElement in $notifierNodeElementCollection) { Write-Host $notifierNodeElement } } # Obtain objects. $objectNodeElementCollection = [IEasyUAClientExtension]::BrowseObjects($client, $endpointDescriptor, $nodeDescriptor) # Recurse. foreach ($objectNodeElement in $objectNodeElementCollection) { BrowseNotifiersFrom($objectNodeElement) } } # The path below assumes that the current directory is [ProductDir]/Examples-NET/PowerShell/Windows . Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUA.dll" Add-Type -Path "../../../Components/Opclabs.QuickOpc/net472/OpcLabs.EasyOpcUAComponents.dll" # Start browsing from the "Objects" node. try { [UANodeDescriptor]$startingNodeDescriptor = [UAObjectIds]::ObjectsFolder BrowseNotifiersFrom $startingNodeDescriptor } catch [UAException] { Write-Host "*** Failure: $($PSItem.Exception.GetBaseException().Message)" return } Write-Host Write-Host "Finished." # Example output (truncated): # # #Parent node: ObjectsFolder # # #Parent node: Server # #Notifiers: #Green -> nsu=http:#opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Green (Object) #Yellow -> nsu=http:#opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Yellow (Object) # # #Parent node: Server_ServerCapabilities #...
' This example shows how to browse objects under the "Objects" node and display notifiers. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.AddressSpace Imports OpcLabs.EasyOpc.UA.AddressSpace.Standard Imports OpcLabs.EasyOpc.UA.OperationModel Namespace AlarmsAndConditions Friend Class BrowseNotifiers Public Shared Sub Overload2() ' Start browsing from the "Objects" node Try BrowseFrom(UAObjectIds.ObjectsFolder) Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) End Try End Sub Private Shared Sub BrowseFrom(nodeDescriptor As UANodeDescriptor) Console.WriteLine() Console.WriteLine() Console.WriteLine("Parent node: {0}", nodeDescriptor) ' Instantiate the client object Dim client = New EasyUAClient() ' Obtain notifiers Dim notifierNodeElementCollection As UANodeElementCollection = client.BrowseNotifiers( _ "opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer", _ nodeDescriptor) ' Display notifiers Console.WriteLine() Console.WriteLine("Notifiers:") For Each notifierNodeElement As UANodeElement In notifierNodeElementCollection Console.WriteLine(notifierNodeElement) Next notifierNodeElement ' Obtain objects Dim objectNodeElementCollection = client.BrowseObjects( _ "opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer", _ nodeDescriptor) ' Recurse For Each objectNodeElement As UANodeElement In objectNodeElementCollection BrowseFrom(objectNodeElement) Next objectNodeElement End Sub End Class End Namespace
// This example shows how to browse objects under the "Objects" node and display notifiers. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-OP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. class procedure BrowseNotifiers.Main; var ObjectNodeId: _UANodeId; begin ObjectNodeId := CoUANodeId.Create; ObjectNodeId.StandardName := 'Objects'; try BrowseFrom(ObjectNodeId); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); Exit; end; end; end; class procedure BrowseNotifiers.BrowseFrom(NodeId: _UANodeId); var Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; Count: Cardinal; Element: OleVariant; EndpointDescriptor: string; NotifierNodeElement: _UANodeElement; NotifierNodeElementEnumerator: IEnumVariant; NotifierNodeElements: _UANodeElementCollection; ObjectNodeElement: _UANodeElement; ObjectNodeElementEnumerator: IEnumVariant; ObjectNodeElements: _UANodeElementCollection; begin EndpointDescriptor := 'opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer'; WriteLn; WriteLn; WriteLn('Parent node: ', NodeId.ToString); // Instantiate the client object Client := CoEasyUAClient.Create; // Obtain notifiers NotifierNodeElements := Client.BrowseNotifiers(EndpointDescriptor, NodeId.ExpandedText); // Display notifires if NotifierNodeElements.Count <> 0 then begin WriteLn; WriteLn('Notifiers:'); NotifierNodeElementEnumerator := NotifierNodeElements.GetEnumerator; while (NotifierNodeElementEnumerator.Next(1, Element, Count) = S_OK) do begin NotifierNodeElement := IUnknown(Element) as _UANodeElement; WriteLn(NotifierNodeElement.ToString); end; end; // Obtain objects ObjectNodeElements := Client.BrowseObjects(EndpointDescriptor, NodeId.ExpandedText); // Recurse ObjectNodeElementEnumerator := ObjectNodeElements.GetEnumerator; while (ObjectNodeElementEnumerator.Next(1, Element, Count) = S_OK) do begin ObjectNodeElement := IUnknown(Element) as _UANodeElement; BrowseFrom(ObjectNodeElement.NodeId); end; end; // Example output (truncated): // // //Parent node: ObjectsFolder // // //Parent node: Server // //Notifiers: //Green -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Green (Object) //Yellow -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Yellow (Object) // // //Parent node: Server_ServerCapabilities //...
// This example shows how to browse objects under the "Objects" node and display notifiers. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in PHP on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-PHP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. // Start browsing from the "Objects" node $ObjectNodeId = new COM("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId"); $ObjectNodeId->StandardName = "Objects"; try { BrowseFrom($ObjectNodeId); } catch (com_exception $e) { printf("*** Failure: %s\n", $e->getMessage()); exit(); } function BrowseFrom($NodeId) { $EndpointDescriptor = "opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer"; printf("\n"); printf("\n"); printf("Parent node: %s\n", $NodeId); // Instantiate the client object $Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient"); // Obtain notifiers $NotifierNodeElements = $Client->BrowseNotifiers($EndpointDescriptor, $NodeId->ExpandedText); // Display notifires if ($NotifierNodeElements->Count != 0) { printf("\n"); printf("Notifiers:\n"); foreach ($NotifierNodeElements as $NotifierNodeElement) { printf("%s\n", $NotifierNodeElement); } } // Obtain objects $ObjectNodeElements = $Client->BrowseObjects($EndpointDescriptor, $NodeId->ExpandedText); // Recurse foreach ($ObjectNodeElements as $ObjectNodeElement) { BrowseFrom($ObjectNodeElement->NodeId); } } // Example output (truncated): // // //Parent node: ObjectsFolder // // //Parent node: Server // //Notifiers: //Green -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Green (Object) //Yellow -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Yellow (Object) // // //Parent node: Server_ServerCapabilities //...
Rem This example shows how to browse objects under the "Objects" node and display notifiers. Rem Rem Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Rem OPC client and subscriber examples in VBScript on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBScript . Rem Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own Rem a commercial license in order to use Online Forums, and we reply to every post. Option Explicit ' Start browsing from the "Objects" node Dim ObjectsNodeId: Set ObjectsNodeId = CreateObject("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId") ObjectsNodeId.StandardName = "Objects" On Error Resume Next BrowseFrom ObjectsNodeId If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 Sub BrowseFrom(NodeId) Dim endpointDescriptor endpointDescriptor = "opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer" WScript.Echo WScript.Echo WScript.Echo "Parent node: " & NodeId ' Instantiate the client object Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") ' Obtain notifiers Dim NotifierNodeElementCollection: Set NotifierNodeElementCollection = Client.BrowseNotifiers( _ endpointDescriptor, NodeId.ExpandedText) ' Display notifiers If NotifierNodeElementCollection.Count <> 0 Then WScript.Echo WScript.Echo "Notifiers:" Dim NotifierNodeElement: For Each NotifierNodeElement In NotifierNodeElementCollection WScript.Echo NotifierNodeElement Next End If ' Obtain objects Dim ObjectNodeElementCollection: Set ObjectNodeElementCollection = Client.BrowseObjects( _ endpointDescriptor, NodeId.ExpandedText) ' Recurse Dim ObjectNodeElement: For Each ObjectNodeElement In ObjectNodeElementCollection BrowseFrom ObjectNodeElement.NodeId Next End Sub ' Example output (truncated): ' ' 'Parent node: ObjectsFolder ' ' 'Parent node: Server ' 'Notifiers: 'Green -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Green (Object) 'Yellow -> nsu=http://opcfoundation.org/Quickstarts/AlarmCondition ;ns=2;s=0:/Yellow (Object) ' ' 'Parent node: Server_ServerCapabilities '...
# This example shows how to browse objects under the "Objects" node and display notifiers. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.AddressSpace import * from OpcLabs.EasyOpc.UA.AddressSpace.Standard import * from OpcLabs.EasyOpc.UA.OperationModel import * # Define which server we will work with. endpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer') def browseFrom(nodeDescriptor): global endpointDescriptor print() print() print('Parent node: ', nodeDescriptor, sep='') # Instantiate the client object. client = EasyUAClient() # Obtain notifiers. notifierNodeElementCollection = IEasyUAClientExtension.BrowseNotifiers(client, endpointDescriptor, nodeDescriptor) # Display notifiers. if notifierNodeElementCollection.Count != 0: print('') print('Notifiers:') for notifierNodeElement in notifierNodeElementCollection: print(notifierNodeElement) # Obtain objects. objectNodeElementCollection = IEasyUAClientExtension.BrowseObjects(client, endpointDescriptor, nodeDescriptor) # Recurse. for objectNodeElement in objectNodeElementCollection: browseFrom(objectNodeElement.ToUANodeDescriptor()) # Start browsing from the "Objects" node. try: browseFrom(UANodeDescriptor(UAObjectIds.ObjectsFolder)) except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() print() print('Finished.')
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Documentation Home, Send Feedback. Resources: Knowledge Base, Product Downloads. Technical support: Online Forums, FAQ.Missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.